package com.dailyblue.java.servlet.controller;

import javax.servlet.*;
import java.io.IOException;

// Servlet的第一种实现方式
// 1⃣️ 实现Servlet 接口
public class FirstController implements Servlet {
    private ServletConfig config;
    private int i;

    public FirstController() {
        System.out.println("FirstController对象被创建了！");
    }

    static {
        System.out.println("FirstController类被加载了！");
    }


    // 2⃣️ 重写五个方法
    // 初始化方法：默认会在第一次请求时加载 并只加载一次
    public void init(ServletConfig config) throws ServletException {
        System.out.println("FirstController这个Servlet被加载了！");
        this.config = config;
    }

    // 获取到config对象
    public ServletConfig getServletConfig() {
        return config;
    }

    // 服务方法：每次请求Servlet都会执行的方法，Tomcat会传递过来一个request和response对象
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("每次请求其实执行的都是这个方法");
        System.out.println(i);
        i++;
    }

    // 获取到当前Servlet的介绍
    public String getServletInfo() {
        return "我是FirstController";
    }

    // 销毁方法：一般会在服务器关闭时执行
    public void destroy() {
        System.out.println("FirstController被销毁了");
    }
}
